package com.yuandian.management.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.yuandian.bpm.common.core.util.R;
import com.yuandian.management.vo.AgentIpPojo;
import com.yuandian.management.vo.AgentIpVo;

import java.util.List;

/**
 * <p>
 * agentip管理表 服务类
 * </p>
 *
 * @author fucx
 * @since 2021-01-27
 */
public interface IAgentIpService extends IService<AgentIpPojo> {
	 /**
     * 查询所有ip
     * 
     * @return
     */
     List<AgentIpPojo> queryListAll();

    /**
     * 查询所有状态正常agent ip信息
     * 
     * @param searchKey
     * @return
     */
     List<AgentIpVo> queryList(String searchKey);

    /**
     * 插入AgentIp
     * 
     * @param agentIp
     */
     void insertAgentIp(AgentIpPojo agentIp);

    /**
     * 根据id更新AgentIp
     * 
     * @param agentIp
     * @return
     */
     int updateByPrimaryKey(AgentIpPojo agentIp);

    /**
     * 根据ip更新AgentIp
     * 
     * @param agentIp
     * @return
     */
     int updateByIpSelective(AgentIpPojo agentIp);

	/**
	 * 更新agentip 别名和主机名和磁盘分区过滤
	 * @param agentIps
	 * @param aliasNames
	 * @param removeDiskPartitions
	 * @return
	 */
	 int updateAgentByIps(String agentIps,  String aliasNames, String removeDiskPartitions);

    /**
     * 根据ip更新状态为逻辑删除
     * 
     * @param ipArray
     * @return
     */
     void updateStatusByIp(String[] ipArray);

    /**
     * 统计正常的agentip个数
     * 
     * @return
     */
     int countNormalAgentIp();
    
    /**
     * 批量删除agent ip
     * @param ips
     * @return
     */
     R deleteAgentByIps(String[] ips);
}
